package com.hanson.basicknowledge.iterator;

import java.util.ArrayList;
import java.util.Iterator;

/**
 * @author Hanson
 * @date 2023/2/22 17:35
 */

/*
* 在Java中，迭代器（Iterator）是用于遍历集合（Collection）元素的对象。迭代器提供了一个通用的方法来遍历集合中的元素，而不用关心集合底层的实现方式。以下是迭代器常用的方法及其用法：
    hasNext()：判断集合是否还有下一个元素，如果有则返回true，否则返回false。
    next()：获取集合中的下一个元素，并将迭代器的游标向后移动一位。
    remove()：从集合中删除最近返回的元素（即通过调用next()方法返回的元素），一般情况下，该方法应该在调用next()方法之后再调用。
* */
public class IteratorDemo {
    public static void main(String[] args) {
        // 创建一个包含字符串的List集合
        ArrayList<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Python");
        list.add("C++");

        // 获取集合的迭代器
        Iterator<String> iterator = list.iterator();

        // 使用迭代器遍历集合中的元素
        while (iterator.hasNext()){
            String element = iterator.next();
            System.out.println(element);
        }
    }

/*
* 在上述示例中，我们首先创建了一个包含三个字符串元素的List集合。
* 接着，我们通过list.iterator()方法获取到集合的迭代器对象，并将其赋值给iterator变量。
* 最后，我们使用while循环和iterator.hasNext()方法来判断集合中是否还有下一个元素，
* 如果有则通过iterator.next()方法获取到该元素，并将其打印出来。
* 通过这种方式，我们可以使用迭代器遍历集合中的所有元素。
 * */
}
